/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.isn.atencionemergencia.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

import com.isn.tratamiento.entity.Medicamento;

/**
 *
 * @author pool
 */
@Entity
@Table(name = "detalle_resultadooae_medicamento")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "DetalleResultadooaeMedicamento.findAll", query = "SELECT d FROM DetalleResultadooaeMedicamento d"),
    @NamedQuery(name = "DetalleResultadooaeMedicamento.findByCanRoaeMedi", query = "SELECT d FROM DetalleResultadooaeMedicamento d WHERE d.canRoaeMedi = :canRoaeMedi"),
    @NamedQuery(name = "DetalleResultadooaeMedicamento.findByDosisRoaeMedi", query = "SELECT d FROM DetalleResultadooaeMedicamento d WHERE d.dosisRoaeMedi = :dosisRoaeMedi"),
    @NamedQuery(name = "DetalleResultadooaeMedicamento.findByFrecuRoaeMedi", query = "SELECT d FROM DetalleResultadooaeMedicamento d WHERE d.frecuRoaeMedi = :frecuRoaeMedi"),
    @NamedQuery(name = "DetalleResultadooaeMedicamento.findByNumroae", query = "SELECT d FROM DetalleResultadooaeMedicamento d WHERE d.detalleResultadooaeMedicamentoPK.numroae = :numroae"),
    @NamedQuery(name = "DetalleResultadooaeMedicamento.findByCodMedi", query = "SELECT d FROM DetalleResultadooaeMedicamento d WHERE d.detalleResultadooaeMedicamentoPK.codMedi = :codMedi")})
public class DetalleResultadooaeMedicamento implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected DetalleResultadooaeMedicamentoPK detalleResultadooaeMedicamentoPK;
    @Column(name = "Can_Roae_Medi")
    private Integer canRoaeMedi;
    @Column(name = "Dosis_Roae_Medi")
    private String dosisRoaeMedi;
    @Column(name = "Frecu_Roae_Medi")
    private String frecuRoaeMedi;
    @JoinColumn(name = "Num_roae", referencedColumnName = "Num_roae", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private ResultadoDeOrdenDeAtencionDeEmergencia resultadoDeOrdenDeAtencionDeEmergencia;
    @JoinColumn(name = "Cod_Medi", referencedColumnName = "Cod_Medi", insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Medicamento medicamento;

    public DetalleResultadooaeMedicamento() {
    }

    public DetalleResultadooaeMedicamento(DetalleResultadooaeMedicamentoPK detalleResultadooaeMedicamentoPK) {
        this.detalleResultadooaeMedicamentoPK = detalleResultadooaeMedicamentoPK;
    }

    public DetalleResultadooaeMedicamento(String numroae, String codMedi) {
        this.detalleResultadooaeMedicamentoPK = new DetalleResultadooaeMedicamentoPK(numroae, codMedi);
    }

    public DetalleResultadooaeMedicamentoPK getDetalleResultadooaeMedicamentoPK() {
        return detalleResultadooaeMedicamentoPK;
    }

    public void setDetalleResultadooaeMedicamentoPK(DetalleResultadooaeMedicamentoPK detalleResultadooaeMedicamentoPK) {
        this.detalleResultadooaeMedicamentoPK = detalleResultadooaeMedicamentoPK;
    }

    public Integer getCanRoaeMedi() {
        return canRoaeMedi;
    }

    public void setCanRoaeMedi(Integer canRoaeMedi) {
        this.canRoaeMedi = canRoaeMedi;
    }

    public String getDosisRoaeMedi() {
        return dosisRoaeMedi;
    }

    public void setDosisRoaeMedi(String dosisRoaeMedi) {
        this.dosisRoaeMedi = dosisRoaeMedi;
    }

    public String getFrecuRoaeMedi() {
        return frecuRoaeMedi;
    }

    public void setFrecuRoaeMedi(String frecuRoaeMedi) {
        this.frecuRoaeMedi = frecuRoaeMedi;
    }

    public ResultadoDeOrdenDeAtencionDeEmergencia getResultadoDeOrdenDeAtencionDeEmergencia() {
        return resultadoDeOrdenDeAtencionDeEmergencia;
    }

    public void setResultadoDeOrdenDeAtencionDeEmergencia(ResultadoDeOrdenDeAtencionDeEmergencia resultadoDeOrdenDeAtencionDeEmergencia) {
        this.resultadoDeOrdenDeAtencionDeEmergencia = resultadoDeOrdenDeAtencionDeEmergencia;
    }

    public Medicamento getMedicamento() {
        return medicamento;
    }

    public void setMedicamento(Medicamento medicamento) {
        this.medicamento = medicamento;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (detalleResultadooaeMedicamentoPK != null ? detalleResultadooaeMedicamentoPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof DetalleResultadooaeMedicamento)) {
            return false;
        }
        DetalleResultadooaeMedicamento other = (DetalleResultadooaeMedicamento) object;
        if ((this.detalleResultadooaeMedicamentoPK == null && other.detalleResultadooaeMedicamentoPK != null) || (this.detalleResultadooaeMedicamentoPK != null && !this.detalleResultadooaeMedicamentoPK.equals(other.detalleResultadooaeMedicamentoPK))) {
            return false;
        }
        return true;
    }

        
}
